package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 订单业务列表对象 order_operation
 * 
 * @author ruoyi
 * @date 2025-06-12
 */
public class OrderOperation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 环节id */
    private Long linkId;

    /** 环节名称 */
    @Excel(name = "环节名称")
    private String linkName;

    /** 录入数量 */
    @Excel(name = "录入数量")
    private Integer inputNumber;

    /** 喷漆类型(0色漆,1底漆,2精油) */
    @Excel(name = "喷漆类型(0色漆,1底漆,2精油)")
    private String paintFlag;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 状态集合 */
    private List<String> statusList;

    /** 订单名称 */
    private String orderName;

    /** 订单总数量 */
    private Integer number;

    /** 订单完成数量 */
    private Integer accomplishNumber;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date planEndTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }

    public void setLinkId(Long linkId) 
    {
        this.linkId = linkId;
    }

    public Long getLinkId() 
    {
        return linkId;
    }

    public String getLinkName() {
        return linkName;
    }

    public void setLinkName(String linkName) {
        this.linkName = linkName;
    }

    public void setInputNumber(Integer inputNumber)
    {
        this.inputNumber = inputNumber;
    }

    public Integer getInputNumber()
    {
        return inputNumber;
    }

    public void setPaintFlag(String paintFlag) 
    {
        this.paintFlag = paintFlag;
    }

    public String getPaintFlag() 
    {
        return paintFlag;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public List<String> getStatusList() {
        return statusList;
    }

    public void setStatusList(List<String> statusList) {
        this.statusList = statusList;
    }

    public String getOrderName() {
        return orderName;
    }

    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Integer getAccomplishNumber() {
        return accomplishNumber;
    }

    public void setAccomplishNumber(Integer accomplishNumber) {
        this.accomplishNumber = accomplishNumber;
    }

    public Date getPlanEndTime() {
        return planEndTime;
    }

    public void setPlanEndTime(Date planEndTime) {
        this.planEndTime = planEndTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("linkId", getLinkId())
            .append("inputNumber", getInputNumber())
            .append("paintFlag", getPaintFlag())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
